package com.ruoyi.project.system.mapper;

import com.ruoyi.project.system.domain.SysOrder;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 订单Mapper接口
 *
 * @author orange
 * @date 2022-04-08
 */
@Mapper
public interface SysOrderMapper {
  /**
   * 查询订单
   *
   * @param orderId 订单主键
   * @return 订单
   */
  SysOrder selectSysOrderByOrderId(Long orderId);

  /**
   * 查询订单列表
   *
   * @param sysOrder 订单
   * @return 订单集合
   */
  List<SysOrder> selectSysOrderList(SysOrder sysOrder);

  /**
   * 新增订单
   *
   * @param sysOrder 订单
   * @return 结果
   */
  int insertSysOrder(SysOrder sysOrder);

  /**
   * 修改订单
   *
   * @param sysOrder 订单
   * @return 结果
   */
  int updateSysOrder(SysOrder sysOrder);

  /**
   * 删除订单
   *
   * @param orderId 订单主键
   * @return 结果
   */
  int deleteSysOrderByOrderId(Long orderId);

  /**
   * 批量删除订单
   *
   * @param orderIds 需要删除的数据主键集合
   * @return 结果
   */
  int deleteSysOrderByOrderIds(Long[] orderIds);

  /**
   * 查询订单为商家接单列表
   *
   * @param sysOrder 订单
   * @return 订单集合
   */
  List<SysOrder> selectSysOrderListByStatusEquireThree();

  /**
   * 查询订单已配送完的列表
   *
   * @param sysOrder 订单
   * @return 订单集合
   */
  List<SysOrder> selectSysOrderListByStatusEquireFive();
}
